#include "red/Servidor.h"
#include "red/Cliente.h"
#include <iostream>
#include "modelo/Juego.h"

using namespace std;

int main(int argc, char *argv[]) {
	cout << argc << endl;
	string tipo = "";
	string mision = "";
	//Para ejecutar sin clietne servidor
	if (argc == 2) {
		string ruta = string(argv[1]);
		Juego* juego = new Juego(ruta);
		juego->comenzar();
		cout << "Juego termina" << endl;
		return 0;
	}
	if (argc == 5) {
		cout << "De tipo server" << endl;
		tipo = string(argv[1]);
		cout << "acaaaa" << endl;
		cout << "tipo: " << tipo << endl;
		if (tipo == "server") {
			mision = string(argv[2]);
			string puerto = string(argv[4]);
			string nivel = string(argv[3]);
			Servidor* servidor = new Servidor(atoi(puerto.c_str()), mision,nivel);
			servidor->iniciar();
			return 0;
		} else {
			return 1;
		}
	}
	if (argc == 4){
		cout << "De tipo cliente" << endl;
		tipo = string(argv[1]);
		if (tipo == "cliente") {
				string ip = string(argv[2]);
				string puerto = string(argv[3]);
				cout << "Tipo: " << tipo << endl;
				cout << "Ip: " << ip << endl;
				cout << "Puerto: " << puerto << endl;
				Cliente* cliente = new Cliente(ip, atoi(puerto.c_str()));
				cliente->iniciar();
				cout << "Termina juego" << endl;
				return 0;
		} else {
			cout << "Tipo incorrecto " << endl;
			return 1;
		}
	}

	cout << "Cantidad de parametros invalidos" << endl;
	return 1;
}

